Delayed Side-Effects Ease Multi-core Programming
نویسندگان
چکیده
Computer systems are increasingly parallel and heterogeneous, while programs are still largely written in sequential languages. The obvious suggestion that the compiler should automatically distribute a sequential program across the system usually fails in practice because of the complexity of dependence analysis in the presence of aliasing. We introduce the sieve language construct which facilitates dependence analysis by using the programmer’s knowledge about data dependences and makes code more amenable to automatic parallelisation. The behaviour of sieve programs is deterministic, hence predictable and repeatable. Commercial implementations by Codeplay shows that sieve programs can be efficiently mapped onto a range of systems. This suggests that the sieve construct can be used for building reliable, portable and efficient software for multi-core systems.
منابع مشابه
Topic 9 Parallel and Distributed Programming
Developing parallel or distributed applications is a hard task and it requires advanced algorithms, realistic modeling, efficient design tools, high performance languages and libraries, and experimental evaluation. This topic provides a forum for presentation of new results and practical experience in this domain. It emphasizes research that facilitates the design and development of correct, hi...
متن کاملTopic 9: Parallel and Distributed Programming
Developing parallel or distributed applications is a hard task and it requires advanced algorithms, realistic modeling, efficient design tools, high performance languages and libraries, and experimental evaluation. This topic provides a forum for presentation of new results and practical experience in this domain. It emphasizes research that facilitates the design and development of correct, hi...
متن کاملMulti-Core Parallel Programming in Go
Go is a new concurrent systems programming language. One of its goals is to meet the challenge of multi-core parallel programming. In this paper, we present two multi-core parallel programs in Go and their performances on an octal-core microprocessor, to demonstrate the ease of multi-core parallel programming in Go and the efficiency of parallel Go code.
متن کاملHerbs and natural supplements in the prevention and treatment of delayed-onset muscle soreness
Objective: Unaccustomed and intense eccentric exercise is a common cause of delayed-onset muscle soreness (DOMS). There are multiple remedies for the treatment of DOMS, but its clinical and laboratory pieces of evidence are scarce. Currently, the treatments proposed for DOMS are numerous and include pharmaceuticals, herbal remedies, stretching, massage, nutritional supplements, and other alter...
متن کاملBuilding a Java MapReduce Framework for Multi-core Architectures
MapReduce is a programming pattern that has been proved to be a simple abstraction on top of which can be built an efficient platform for largescale data processing in distributed environments, such as Google or Hadoop. With this pattern, application logic is expressed using sequential map and reduce functions. Thus, a runtime system can exploit the lack of side effects (pure functions) in thes...
متن کامل